package com.yf.model.ai.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import com.yf.base.IBaseEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * ai 聊天角色枚举 ( 注 : 仅 system、user、tool、assistant 有效 , 并一般不使用 tool 作为 message )
 *
 * @author : YiFei
 * @since : 2025/7/5 11:20
 */
@Getter
@AllArgsConstructor
public enum AiMessageRoleEnum implements IBaseEnum<String> {

    SYSTEM("system", "系统"),
    USER("user", "用户"),
    ASSISTANT("assistant", "助手"),
    AGENT("agent", "代理"),
    REASONING_CONTENT("reasoning", "推理内容"),
    TOOL("tool", "工具");

    @EnumValue //  Mybatis-Plus 提供注解表示插入数据库时插入该值
    @JsonValue //  表示对枚举序列化时返回此字段
    private final String value;

    private final String label;

}
